1. Field of the Invention
The present invention generally relates to resource management apparatuses and radio network controllers, and more particularly to a resource management apparatus for managing resources that are processing capabilities of a plurality of processing units, and to a radio (or wireless) network controller that uses such a resource management apparatus.
2. Description of the Related Art
FIG. 1 is a system block diagram showing an example of a general load balancing system. In FIG. 1, a CPU 1 is provided as a resource management apparatus, and devices 3#1 through 3#n, such as Digital Signal Processors (DSPs), that are provided as processing units, a memory 4 and an interface 5 are connected to the CPU 1 via a bus 2. The CPU 1 manages amounts of resources used by each of the devices 3#1 through 3#n, and balances or distributes the loads on the devices 3#1 through 3#n by monitoring states of use of the devices 3#1 through 3#n. 
FIG. 2 is a system block diagram showing a structure of a radio network controller which is one form of a load balancing system. In FIG. 2, a radio network controller (RNC) 10 is connected to a core network 11 of a higher layer or level, and to a radio base station (Node-B) 12 of a lower layer or level. A mobile terminal (UE) 13 is connected by radio to the radio base station 12.
The radio network controller 10 includes a CPU 20 that is provided as a resource management apparatus, and DSPs 30#1 through 30#n. In the CPU 20, when a request receiving part 21 receives a line allocation request from the core network 11 or the radio base station 12 via an application, the request receiving part 21 notifies the line allocation request to a DSP selection part 22. The DSP selection part 22 refers to amounts of resources of each of the DSPs 30#1 through 30#n that are stored in resource management parts 26#1 through 26#n, and selects the DSP that has an amount of resources used that is the smallest. The amounts of resources that are referred to by the DSP selection part 22 are the amounts of resources presently used by the DSPs 30#1 through 30#n. 
Thereafter, a request sending part 23 sends the line allocation request with respect to the DSP (one of the DSPs 30#1 through 30#n) that is selected by the DSP selection part 22. The DSP which receives this line allocation request by a request reception processing part 31 thereof forms a new line by a user data sending and receiving part 32, and thereafter constantly carries out a user data sending and receiving process.
Next, when the request receiving part 21 receives a line release request from the application, the amount of resources used is subtracted from the resource management part (one of the resource management parts 26#1 through 26#n) corresponding to the DSP to which the line release request is sent. Thereafter, the request sending part 23 sends the line release request with respect to the request reception processing part 31 of the DSP (one of the DSPs 30#1 through 30#n) to which the line release request is sent. The DSP which receives the line release request carries out a line release process of the user data sending and receiving part 32.
The amount of resources is a numerical value indicating the user data processing capability of each of the DSPs 30#1 through 30#n that are under the control of the CPU 20. The amount of resources takes a different value depending on the services (audio, packet, etc.) that are treated and the throughput. The larger the value of the amount of resources, the larger the user data processing capability per line. In addition, the amount of resources used indicates the amount of resources that is accumulated for each DSP every time the line allocation is made with respect to the DSPs 30#1 through 30#n that are under the control of the CPU 20.
When the CPU 20 issues the line allocation with respect to the DSPs 30#1 through 30#n, the CPU 20 selects the corresponding amount of resources from the service type of the line and the throughput. The CPU 20 adds this corresponding amount of resources to the amount of resources used by the DSP when making the line allocation, and subtracts this corresponding amount of resources from the amount of resources used by the DSP when releasing the line. In selecting the DSP when making the line allocation, the amount of resources used is used as the selecting condition, and the DSP having the smallest amount of resources used at the time of the selection is selected.
A Japanese Laid-Open Patent Application No. 2005-182697 proposes predicting the time of depletion or exhaustion by predicting the amount of computer resources used after a predetermined time from the amount of computer resources used.
In addition, a Japanese Laid-Open Patent Application No. 2004-318474 proposes generating a predicted transition of the amount of resources used from a transition of the amount of transactions generated, using a correlation of the amount of transactions processed in the past and the amount of resources used, and automatically changing the amount of resources allocated to each module.
Conventionally, a reference is made to the amount of resources used, and a device having the smallest amount of resources used is selected.
FIG. 3 is a diagram showing changes in examples of the amounts of resources used by each of the DSPs 30#1 through 30#n with time. If only the amount of resources used by the DSP 30#2 becomes extremely small by releasing the line at a time t1, the line allocation at a subsequent time t2 becomes concentrated on the DSP 30#2 having the small amount of resources used.
As a result, in the DSP 30#2 where the line is allocated in a concentrated manner within a short time, a congestion occurs among the reception processes of the request reception processing part 31 for the line allocation requests from the CPU 20, and as shown in FIG. 4A, a processing limit value is exceeded within the DSP 30#2. Consequently, the process of the user data sending and receiving part 32 within the DSP 30#2 is pressed, and there is a possibility of generating an abnormal state such as a response delay.
On the other hand, since no line allocation is made with respect to the DSPs 30#1 and 30#3 through 30#n other than the DSP 30#2 that is in the congestion state, there are margins for the processes of the other DSPs 30#1 and 30#3 through 30#n, as shown in FIG. 4B, and there was a problem in that the load balancing or distribution does not function satisfactorily at the time t2.